package org.summer.lawyer.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 
 * 
 * 
 */
/**
 * 普法文章表
 */
@Data
@TableName(value = "article")
public class Article {
    /**
     * 文章ID
     */
    @TableId(value = "article_id", type = IdType.ASSIGN_ID)
    private Long articleId;

    /**
     * 文章分类ID
     */
    @TableField(value = "category_id")
    private String categoryId;

    /**
     * 文章分类
     */
    @TableField(value = "category_name")
    private String categoryName;

    /**
     * 文章标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 文章封面图片
     */
    @TableField(value = "image_url")
    private String imageUrl;

    /**
     * 状态(0草稿, 1已发布）
     */
    @TableField(value = "`status`")
    private String status;

    /**
     * 文章内容
     */
    @TableField(value = "content")
    private String content;

    /**
     * 作者ID
     */
    @TableField(value = "author_id")
    private Long authorId;

    /**
     * 作者姓名
     */
    @TableField(value = "author_name")
    private String authorName;

    /**
     * 发布时间
     */
    @TableField(value = "published_time")
    private Date publishedTime;

    /**
     * 点赞数量
     */
    @TableField(value = "total_upvote")
    private Integer totalUpvote;

    /**
     * 浏览数量
     */
    @TableField(value = "total_view")
    private Integer totalView;

    /**
     * 是否置顶(0否，1置顶）
     */
    @TableField(value = "pinned")
    private String pinned;

    /**
     * 推荐首页（0不推荐，1推荐）
     */
    @TableField(value = "curated")
    private String curated;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableField(value = "del_flag")
    @TableLogic
    private String delFlag;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}